Software development lifecycle is widely understood as a process of developing, testing, integrating, and producing tested code and associated data to the end user for further utilization in the business process. After these phases in the development process, code and data are created and propagated through a series of purposed environments into a production environment. After the initial development stage, the maintenance stage follows during which further iterations of development of new features takes place.
After the initial launch of a software product, users start utilizing the product. As a result of users utilizing the product, “production data” is generated. A preproduction environment can be then populated with the data from the production environment. Data in the preproduction environment that closely resembles the “production data” allows developers and testers to better understand how to further improve the product.
To populate data in the pre-production environment from the production environment, subsets of data can be copied into the preproduction environment from the production environment. In some industries, the data in the production environment is sensitive to exposure including to exposure to the pre-production environment. There are data protection regulations in place in various industries including banking (e.g., GLBA), health care (e.g., HIPAA), e-commerce (e.g., PCI DSS, PIPEDA), financial compliance (e.g., SOX), and others. Many regulations require minimal data exposure of sensitive data in the pre-production environments.